home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0"?>
- <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
- <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
- <!-- $Revision: 1.3.2.5 $ -->
-
- <!--
- Copyright 2002-2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
- <modulesynopsis metafile="mod_imap.xml.meta">
-
- <name>mod_imap</name>
- <description>Server-side imagemap processing</description>
- <status>Base</status>
- <sourcefile>mod_imap.c</sourcefile>
- <identifier>imap_module</identifier>
-
- <summary>
- <p>This module processes <code>.map</code> files, thereby
- replacing the functionality of the <code>imagemap</code> CGI
- program. Any directory or document type configured to use the
- handler <code>imap-file</code> (using either
- <directive module="mod_mime">AddHandler</directive> or
- <directive module="core">SetHandler</directive>)
- will be processed by this module.</p>
-
- <p>The following directive will activate files ending with
- <code>.map</code> as imagemap files:</p>
-
- <example>AddHandler imap-file map</example>
-
- <p>Note that the following is still supported:</p>
-
- <example>AddType application/x-httpd-imap map</example>
-
- <p>However, we are trying to phase out "magic MIME types" so we
- are deprecating this method.</p>
- </summary>
-
- <section id="features"><title>New Features</title>
-
- <p>The imagemap module adds some new features that were not
- possible with previously distributed imagemap programs.</p>
-
- <ul>
- <li>URL references relative to the Referer: information.</li>
-
- <li>Default <code><base></code> assignment through a new map
- directive <code>base</code>.</li>
-
- <li>No need for <code>imagemap.conf</code> file.</li>
-
- <li>Point references.</li>
-
- <li>Configurable generation of imagemap menus.</li>
- </ul>
- </section>
-
- <section id="imapfile"><title>Imagemap File</title>
-
- <p>The lines in the imagemap files can have one of several
- formats:</p>
-
- <example>
- directive value [<var>x</var>,<var>y</var> ...]<br />
- directive value "<var>Menu text</var>" [<var>x</var>,<var>y</var>
- ...]<br />
- directive value <var>x</var>,<var>y</var> ... "<var>Menu text</var>"
- </example>
-
- <p>The directive is one of <code>base</code>,
- <code>default</code>, <code>poly</code>, <code>circle</code>,
- <code>rect</code>, or <code>point</code>. The value is an
- absolute or relative URL, or one of the special values listed
- below. The coordinates are <code><var>x</var>,<var>y</var></code>
- pairs separated by whitespace. The quoted text is used as the text of
- the link if a imagemap menu is generated. Lines beginning with '#' are
- comments.</p>
-
- <section id="imapfile.directives"><title>Imagemap File Directives</title>
- <p>There are six directives allowed in the imagemap file. The
- directives can come in any order, but are processed in the
- order they are found in the imagemap file.</p>
-
- <dl>
- <dt><code>base</code> Directive</dt>
-
- <dd><p>Has the effect of <code><base href="<var>value</var>">
- </code>. The non-absolute URLs of the map-file are taken relative
- to this value. The <code>base</code> directive overrides
- <directive module="mod_imap">ImapBase</directive> as set in a
- <code>.htaccess</code> file or in the server configuration files.
- In the absence of an <directive>ImapBase</directive> configuration
- directive, <code>base</code> defaults to
- <code>http://server_name/</code>.</p>
- <p><code>base_uri</code> is synonymous with <code>base</code>.
- Note that a trailing slash on the URL is significant.</p></dd>
-
- <dt><code>default</code> Directive</dt>
-
- <dd>The action taken if the coordinates given do not fit any
- of the <code>poly</code>, <code>circle</code> or
- <code>rect</code> directives, and there are no
- <code>point</code> directives. Defaults to <code>nocontent</code>
- in the absence of an <directive module="mod_imap"
- >ImapDefault</directive> configuration setting, causing a status
- code of <code>204 No Content</code> to be returned. The client
- should keep the same page displayed.</dd>
-
- <dt><code>poly</code> Directive</dt>
-
- <dd>Takes three to one-hundred points, and is obeyed if the
- user selected coordinates fall within the polygon defined by
- these points.</dd>
-
- <dt><code>circle</code></dt>
-
- <dd>Takes the center coordinates of a circle and a point on
- the circle. Is obeyed if the user selected point is with the
- circle.</dd>
-
- <dt><code>rect</code> Directive</dt>
-
- <dd>Takes the coordinates of two opposing corners of a
- rectangle. Obeyed if the point selected is within this
- rectangle.</dd>
-
- <dt><code>point</code> Directive</dt>
-
- <dd>Takes a single point. The point directive closest to the
- user selected point is obeyed if no other directives are
- satisfied. Note that <code>default</code> will not be
- followed if a <code>point</code> directive is present and
- valid coordinates are given.</dd>
- </dl>
- </section>
-
- <section id="imapfile.values"><title>Values</title>
-
- <p>The values for each of the directives can any of the following:</p>
-
- <dl>
- <dt>a URL</dt>
-
- <dd><p>The URL can be relative or absolute URL. Relative URLs
- can contain '..' syntax and will be resolved relative to the
- <code>base</code> value.</p>
- <p><code>base</code> itself will not resolved according to the
- current value. A statement <code>base mailto:</code> will
- work properly, though.</p></dd>
-
- <dt><code>map</code></dt>
-
- <dd>Equivalent to the URL of the imagemap file itself. No
- coordinates are sent with this, so a menu will be generated
- unless <directive module="mod_imap">ImapMenu</directive> is set to
- <code>none</code>.</dd>
-
- <dt><code>menu</code></dt>
- <dd>Synonymous with <code>map</code>.</dd>
-
- <dt><code>referer</code></dt>
-
- <dd>Equivalent to the URL of the referring document. Defaults
- to <code>http://servername/</code> if no <code>Referer:</code>
- header was present.</dd>
-
- <dt><code>nocontent</code></dt>
-
- <dd>Sends a status code of <code>204 No Content</code>,
- telling the client to keep the same page displayed. Valid for
- all but <code>base</code>.</dd>
-
- <dt><code>error</code></dt>
-
- <dd>Fails with a <code>500 Server Error</code>. Valid for all
- but <code>base</code>, but sort of silly for anything but
- <code>default</code>.</dd>
- </dl>
- </section>
-
- <section id="imapfile.coords"><title>Coordinates</title>
-
- <dl>
- <dt><code>0,0 200,200</code></dt>
-
- <dd>A coordinate consists of an <var>x</var> and a <var>y</var>
- value separated by a comma. The coordinates are separated
- from each other by whitespace. To accommodate the way Lynx
- handles imagemaps, should a user select the coordinate
- <code>0,0</code>, it is as if no coordinate had been
- selected.</dd>
- </dl>
-
- </section>
-
- <section id="imapfile.quotedtext"><title>Quoted Text</title>
-
- <dl>
- <dt><code>"<var>Menu Text</var>"</code></dt>
-
- <dd><p>After the value or after the coordinates, the line
- optionally may contain text within double quotes. This string
- is used as the text for the link if a menu is
- generated:</p>
-
- <example>
- <a href="http://foo.com/"><var>Menu text</var></a>
- </example>
-
- <p>If no quoted text is present, the name of the link will be
- used as the text:</p>
-
- <example>
- <a href="http://foo.com/">http://foo.com</a>
- </example>
-
- <p>If you want to use double quotes within this text, you have to
- write them as <code>"</code>.</p></dd>
- </dl>
-
- </section>
- </section>
-
- <section id="example"><title>Example Mapfile</title>
-
- <example>
- #Comments are printed in a 'formatted' or 'semiformatted' menu.<br />
- #And can contain html tags. <hr><br />
- base referer<br />
- poly map "Could I have a menu, please?" 0,0 0,10 10,10 10,0<br />
- rect .. 0,0 77,27 "the directory of the referer"<br />
- circle http://www.inetnebr.com/lincoln/feedback/ 195,0 305,27<br />
- rect another_file "in same directory as referer" 306,0 419,27<br />
- point http://www.zyzzyva.com/ 100,100<br />
- point http://www.tripod.com/ 200,200<br />
- rect mailto:nate@tripod.com 100,150 200,0 "Bugs?"<br />
- </example>
-
- </section>
-
- <section id="referencing"><title>Referencing your mapfile</title>
-
- <example><title>HTML example</title>
- <a href="/maps/imagemap1.map"><br />
- <indent>
- <img ismap src="/images/imagemap1.gif"><br />
- </indent>
- </a>
- </example>
-
- <example><title>XHTML example</title>
- <a href="/maps/imagemap1.map"><br />
- <indent>
- <img ismap="ismap" src="/images/imagemap1.gif" /><br />
- </indent>
- </a>
- </example>
-
- </section>
-
- <directivesynopsis>
- <name>ImapMenu</name>
- <description>Action if no coordinates are given when calling
- an imagemap</description>
- <syntax>ImapMenu none|formatted|semiformatted|unformatted</syntax>
- <contextlist><context>server config</context><context>virtual host</context>
- <context>directory</context><context>.htaccess</context></contextlist>
- <override>Indexes</override>
-
- <usage>
- <p>The <directive>ImapMenu</directive> directive determines the
- action taken if an imagemap file is called without valid
- coordinates.</p>
-
- <dl>
- <dt><code>none</code></dt>
- <dd>If ImapMenu is <code>none</code>, no menu is generated,
- and the <code>default</code> action is performed.</dd>
-
- <dt><code>formatted</code></dt>
- <dd>A <code>formatted</code> menu is the simplest menu.
- Comments in the imagemap file are ignored. A level one header
- is printed, then an hrule, then the links each on a separate
- line. The menu has a consistent, plain look close to that of
- a directory listing.</dd>
-
- <dt><code>semiformatted</code></dt>
- <dd>In the <code>semiformatted</code> menu, comments are
- printed where they occur in the imagemap file. Blank lines
- are turned into HTML breaks. No header or hrule is printed,
- but otherwise the menu is the same as a
- <code>formatted</code> menu.</dd>
-
- <dt><code>unformatted</code></dt>
- <dd>Comments are printed, blank lines are ignored. Nothing is
- printed that does not appear in the imagemap file. All breaks
- and headers must be included as comments in the imagemap
- file. This gives you the most flexibility over the appearance
- of your menus, but requires you to treat your map files as
- HTML instead of plaintext.</dd>
- </dl>
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>ImapDefault</name>
- <description>Default action when an imagemap is called with coordinates
- that are not explicitly mapped</description>
- <syntax>ImapDefault error|nocontent|map|referer|<var>URL</var></syntax>
- <default>ImapDefault nocontent</default>
- <contextlist><context>server config</context><context>virtual host</context>
- <context>directory</context><context>.htaccess</context></contextlist>
- <override>Indexes</override>
-
- <usage>
- <p>The <directive>ImapDefault</directive> directive sets the default
- <code>default</code> used in the imagemap files. Its value is
- overridden by a <code>default</code> directive within the
- imagemap file. If not present, the <code>default</code> action
- is <code>nocontent</code>, which means that a <code>204 No
- Content</code> is sent to the client. In this case, the client
- should continue to display the original page.</p>
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>ImapBase</name>
- <description>Default <code>base</code> for imagemap files</description>
- <syntax>ImapBase map|referer|<var>URL</var></syntax>
- <default>ImapBase http://servername/</default>
- <contextlist><context>server config</context><context>virtual host</context>
- <context>directory</context><context>.htaccess</context></contextlist>
- <override>Indexes</override>
-
- <usage>
- <p>The <directive>ImapBase</directive> directive sets the default
- <code>base</code> used in the imagemap files. Its value is
- overridden by a <code>base</code> directive within the imagemap
- file. If not present, the <code>base</code> defaults to
- <code>http://<var>servername</var>/</code>.</p>
- </usage>
- <seealso><directive module="core">UseCanonicalName</directive></seealso>
- </directivesynopsis>
-
- </modulesynopsis>
-